每個用戶或程序在 Windows 系統中都有一個獨一無二的「身份證號碼」,稱為 SID,這個號碼是系統自動生成的。即使有兩個名字一樣的用戶,Windows 也能透過這個 SID 來區分他們。SID 主要用來記錄用戶的權限與操作,這樣系統就知道這個用戶能做什麼。
Windows 的安全架構中還有一個重點是每個用戶或程序啟動時,系統會生成一個「許可證」(稱為「存取權杖」)。
這個許可證裡面包含了該用戶的 SID 和其他權限資訊。
每當你嘗試執行某個操作時,系統會檢查這個許可證,看你是否有權限執行該操作。
SID 由標識符授權 (Identifier Authority) 和相對 ID (Relative ID, RID) 組成。
在 Active Directory (AD) 域環境中,SID 還包括域 SID。
SID
分成好幾部分,每個部分都有自己代表的意義:
(SID)-(版本級別)-(標識符授權)-(子授權1)-(子授權2)-(等等)
而我們可以透過使用以下指令,查看當前user的SID:
PS C:\htb> whoami /user
USER INFORMATION
----------------
User Name SID
=================== =============================================
ws01\bob S-1-5-21-674899381-4069889467-2080702030-1002
查看上述例子,我們有一串SID類似於:S-1-5-21-...,稍微講解一下它代表的意義:
數值 | 意義 | 說明 |
---|---|---|
S | SID | 標識這個字串是 SID。 |
1 | 版本級別 | 迄今為止這個值始終為 1。 |
5 | 標識符授權 | 48 位字串,用來標識創建該 SID 的權限單位(電腦或網路)。 |
21 | 子授權 1 | 一個可變數字,標識用戶與創建 SID 的權限單位之間的關係,告訴我們這個帳號創建的順序。 |
674899381-4069889467-2080702030 | 子授權 2 | 標識創建該號碼的電腦或domain。 |
1002 | 子授權 3 (RID) | 區分帳號身份,告訴我們用戶是普通用戶、訪客、管理員還是其他組別。 |
讀者有興趣可以參閱並深入研究:
https://learn.microsoft.com/zh-tw/windows-server/identity/ad-ds/manage/understand-security-identifiers#relative-identifier-allocation
SAM 像是一本「帳戶權限管理簿」,記錄著哪些人、程序或電腦能做什麼事。
例如,哪些人可以打開某個文件、啟動某個程序,這些都由 ACE 記錄在存取控制列表(ACL)中。
UAC 就像是 Windows 的「保護門」,當你要做一些重要操作(例如安裝軟體或更改系統設置)時,它會跳出來詢問你是否確定要這麼做。如果你是普通用戶,沒有權限,UAC 會阻止你繼續,或者讓你輸入管理員密碼來獲得許可。
這個功能可以防止惡意軟體在未經允許的情況下對系統進行更改,從而保護系統不被輕易攻擊或損害 ~
UAC
的運作流程像是這樣:
(此圖截圖自:https://learn.microsoft.com/en-us/windows/security/application-security/application-control/user-account-control/how-it-works)
當我開始仔細翻閱微軟的文件後,發現裡面坑也太深了吧@@
好多基礎要了解,沒關係,一步一步慢慢來~
https://academy.hackthebox.com/